Fixed some object leaks in broadway_server_new() constructor.
authorDomenico Tortorella <dom.tortorella@gmail.com>
Thu, 14 Aug 2014 11:08:10 +0000 (13:08 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 15 Aug 2014 00:31:19 +0000 (20:31 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=734778

gdk/broadway/broadway-server.c

index 2964a770ab74f17f07623daacb44407b69122aab..5f78f400a88a90a989c386635cec09e03911781e 100644 (file)
@@ -1240,6 +1240,7 @@ broadway_server_new (char *address, int port, GError **error)
                                            error))
        {
          g_prefix_error (error, "Unable to listen to port %d: ", server->port);
+         g_object_unref (server);
          return NULL;
        }
     }
@@ -1249,6 +1250,7 @@ broadway_server_new (char *address, int port, GError **error)
       if (inet_address == NULL)
        {
          g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_DATA, "Invalid ip address %s: ", address);
+         g_object_unref (server);
          return NULL;
        }
       socket_address = g_inet_socket_address_new (inet_address, port);
@@ -1263,6 +1265,7 @@ broadway_server_new (char *address, int port, GError **error)
        {
          g_prefix_error (error, "Unable to listen to %s:%d: ", server->address, server->port);
          g_object_unref (socket_address);
+         g_object_unref (server);
          return NULL;
        }
       g_object_unref (socket_address);